Automated Debugging in Java Using OCL and JDI

نویسندگان

  • David J. Murray
  • Dale E. Parson
چکیده

Correctness constraints provide a foundation for automated debugging within object-oriented systems. This paper discusses a new approach to incorporating correctness constraints into Java development environments. Our approach uses the Object Constraint Language (“OCL”) as a specification language and the Java Debug Interface (“JDI”) as a verification API. OCL provides a standard language for expressing object-oriented constraints that can integrate with Unified Modeling Language (“UML”) software models. JDI provides a standard Java API capable of supporting type-safe and side effect free runtime constraint evaluation. The resulting correctness constraint mechanism: (1) entails no programming language modifications; (2) requires neither access nor changes to existing source code; and (3) works with standard off-the-shelf Java virtual machines (“VMs”). A prototype correctness constraint auditor is presented to demonstrate the utility of this mechanism for purposes of automated debugging.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

JaVis: A UML-Based Visualization and Debugging Environment for Concurrent Java Programs

Debugging concurrent Java programs is a difficult task because of multiple control flows and inherent nondeterminism. It requires techniques not provided by traditional debuggers such as tracing, visualization, and automated error analysis. Therefore, we have developed the JaVis environment for visualizing and debugging concurrent Java programs. The information about a running program is collec...

متن کامل

Using SPIN for automated debugging of infinite executions of Java programs

This paper presents an approach for the automated debugging of reactive and concurrent Java programs, combining model checking and runtime monitoring. Runtime monitoring is used to transform the Java execution traces into the input for the model checker, the purpose of which is twofold. First, it checks these execution traces against properties written in linear temporal logic (LTL), which repr...

متن کامل

AspectD: Enhancing a Standard Debugger with Aspects

Aspect-oriented techniques have gained some favor in program tracing, profiling, and debugging. Yet, taking advantage of AOP typically requires giving up the traditional benefits of using a debugger, such as interactive exploratory introspection and remote execution. However, the APIs debuggers present to their scripting languages are not designed for aspect weaving, creating technical challeng...

متن کامل

JAVAVIS: Automatic Program Visualization with Object and Sequence Diagrams Using the Java Debug Interface (JDI)

The goal of the JAVAVIS system is to help students understand what is happening in a Java program during execution. The primary focus of the first release is on sequential Java programs, although there is some support for visualizing concurrent threads. The system uses the Java Debug Interface (JDI), so there are no modifications needed in the Java source code for the extraction of information....

متن کامل

Using Aspect-oriented Programming to Instrument Ocl Contracts in Java

Analysis and design by contract allows the definitions of a formal agreement between a class and its clients, expressing each party’s rights and obligations. Contracts written in the Object-Constraint Language (OCL) are known to be a useful technique to specify the precondition and postcondition of operations and class invariants in a UML context, making the definition of object-oriented analys...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000